<?php
class UsuarioServico {
	private $userDao;
	
	public function __construct() {
		$this->userDao = new UsuarioDAO();
	}
	
	public function getUserDao() {
		return $this->userDao;
	}
	
	public function setUserDao($userDao) {
		$this->userDao = $userDao;
	}
	
	public function cadastrarUsuario($vetor) {
		$user = new Usuario(); 
		$obj = $user->construct($vetor);
		
		if (!$this->userDao->contem($obj)) {
			$this->userDao->inserir($obj);
			return 0;
		}
		else
			return 1;
	}
	
	public function atualizarUsuario($vetor) {
		$obj = new Usuario();
		$obj = Usuario::construct($vetor);
		$this->userDao->atualizar($obj);
	}
	
	public function listarUsuario() {
		$res = $this->userDao->buscarTodos();
		
		return $res;
	}
	
	public function removerUsuario($vetor) {
		$id = $vetor['id'];
		$this->userDao->apagar($id);
	}
	
	public function buscar() {
		
	}
	
	public function buscarElemento($vetor) {
		$buscado = new Usuario();
		
		if (isset($vetor['id']))
			$buscado->setId($vetor['id']);
		if (isset($vetor['login']))
			$buscado->setLogin($vetor['login']);
		
		$usuarioBuscado = $this->userDao->buscar($buscado);
		return $usuarioBuscado;
	}
	
	public function login($usuario){
		session_start();
		//conta todos os administradores com esse login
		if (count($this->userDao->buscar($usuario))===1) {
	
			$userArray = $this->userDao->buscar($usuario);
			//print_r($userArray);
			$userCompara = $userArray;
			if ($usuario->getSenha() == $userCompara->getSenha()) {
				$_SESSION['user'] = $userCompara;
				$_SESSION['logged'] = 1;
					
				$retorno['codigo'] = 0;
				$retorno['mensagem'] = "Login efetuado com sucesso!";
			}
			else {
				//senha incorreta
				$retorno['codigo'] = 1;
				$retorno['mensagem'] = "Senha Incorreta";
			}
		}
		else{
			//administrador nao cadastrado
			$retorno['codigo'] = 2;
			$retorno['mensagem'] = "Usuario nao cadastrado";
		}
			
		return $retorno;
	}
	
	public function logout() {
		session_start();
	
		if (isset($_SESSION['logged'])) {
			unset($_SESSION['logged']);
			unset($_SESSION['user']);
		}
		session_destroy();
	}
	
	public function verificaLogin() {
		session_start();
	
		if (isset($_SESSION['user']))
			return true;
		else
			return false;
	
	}
	
	public function buscarPorColegiado($colegiado) {
		$res = $this->userDao->buscarTodosSerach($colegiado);
	
		return $res;
	}
}
?>